//
//  JMMainViewController.swift
//  sinaWeibo
//
//  Created by Yahua on 15/12/15.
//  Copyright © 2015年 itcast. All rights reserved.
//




//tabbarController控制器的rootView是navgationController  所以要创建navVC,并且设置nav的子控制器 也就是所有在tababr显示出来的页面  再把navVC添加在tabbarController中去
/*

let homeVc = JMHomeViewController()  nav子控制器 也就是显示的控制器

 let nav = UINavigationController(rootViewController: homeVc)

addChildViewController(nav)

*/


//tabbarController中的底部状态栏要自定义  所以要自己创建一个自定义UItabbar来替换他 
// 自定义一个 JMMainTabbar   因为自定义的uitabbar是只读的 所以只能用kvc来替换他

/*

let mainTabBar = JMMainTabbar()
setValue(mainTabBar, forKey: "tabBar")

*/






import UIKit

class JMMainViewController: UITabBarController {
    
    
    
    
    

    override func viewDidLoad()
    {
        super.viewDidLoad()
        
      
        
        
        //---------------------------------------------首页
        let homeVc = JMHomeViewController()
       addchildViewVC(homeVc, title: "首页", image: "tabbar_home")
        //---------------------------------------------信息
        let messageVc = JMMessageViewController()
        addchildViewVC(messageVc, title: "信息", image: "tabbar_message_center")
        //---------------------------------------------发现
        let discoveryVC = JMDiscoveryViewController()
        addchildViewVC(discoveryVC, title: "发现", image: "tabbar_discover")
        //---------------------------------------------我
        let proVc = JMProfileViewController()
        addchildViewVC(proVc, title: "我", image: "tabbar_profile")
       
        
        //自定义的tabbar是只读的 不能直接使用 = 赋值  用kvc进行替换
        let mainTabBar = JMMainTabbar()
        setValue(mainTabBar, forKey: "tabBar")
        
       
    }
    
    
    
  private  func addchildViewVC(controller : UIViewController , title : String , image : String)
    {
        //添加控制器到tabbarcontroller
        addChildViewController(UINavigationController(rootViewController: controller))
        //设置名字
        controller.title = title
        //设置普通模式下的图标
        controller.tabBarItem.image = UIImage(named: image)
        //设置高亮状态下的照片
        let heiLightImage = image + "_highlighted"
        //设置高亮图片的状态
        controller.tabBarItem.selectedImage = UIImage(named: heiLightImage)?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
        //设置文字颜色
        //nsforegroundColorttributename: 设置文字的前景颜色
       controller.tabBarItem.setTitleTextAttributes([NSForegroundColorAttributeName : UIColor.orangeColor()], forState: UIControlState.Selected)
  
    }
    
    
    
    
    
    
    
    
    //private 用来修饰方法 属性  表示私人的 不可以在其他地反复调用
    private func old()
    {
        
        
        //---------------------------------------------首页
        
        //创建一个首页的控制器  UItableViewController
        let homeVc = JMHomeViewController()
        
        //创建一个导航控制器 吧首页当做NavgationViewController..rootViewController
        // let nav = UINavigationController(rootViewController: homeVc)
        
        //设置首页控制器的底部图标
        homeVc.tabBarItem.image = UIImage(named: "tabbar_home")
        
        //设置首页的名称
        homeVc.title = "首页"
        
        //把导航控制器传入tabbarController控制器  ..也可以省略创建nav的代码 直接一步到位
        addChildViewController(UINavigationController(rootViewController: homeVc))
        
        //---------------------------------------------信息
        let messageVc = JMMessageViewController()
        
        messageVc.tabBarItem.image = UIImage(named: "tabbar_message_center")
        
        messageVc.title = "信息"
        
        addChildViewController(UINavigationController(rootViewController: messageVc))
        
        
        //---------------------------------------------发现
        
        let discoveryVc = JMDiscoveryViewController()
        
        discoveryVc.title = "发现"
        
        discoveryVc.tabBarItem.image = UIImage(named: "tabbar_discover")
        
        addChildViewController(UINavigationController(rootViewController: discoveryVc))
        
        //---------------------------------------------我
        
        let profileVc = JMProfileViewController()
        
        profileVc.title = "我"
        
        profileVc.tabBarItem.image = UIImage(named: "tabbar_profile")
        
        addChildViewController(UINavigationController(rootViewController: profileVc))
        

        
        
        
    }
    
    
    
    
    



}
